package com.tarena.lbs.content.service;


import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.BasePageQuery;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.pojo.content.dto.ArticleActionPageResultDTO;
import com.tarena.lbs.pojo.content.dto.ArticleContentDTO;
import com.tarena.lbs.pojo.content.param.ArticleActionParam;
import com.tarena.lbs.pojo.content.param.ArticleContentParam;
import com.tarena.lbs.pojo.content.query.ArticleQuery;
import java.util.HashSet;

public interface ArticleService {
    void insert(ArticleContentParam articleContentParam);

    void delete(String id) throws BusinessException;

    ArticleContentDTO get(String id) throws BusinessException;

    void update(ArticleContentParam articleContentParam) throws BusinessException;

    PageResult<ArticleContentDTO> list(ArticleQuery articleQuery);

    void action(ArticleActionParam articleActionParam) throws BusinessException;

    void behavior(ArticleActionParam articleActionParam) throws BusinessException;

    ArticleActionPageResultDTO getCurrentUserBehavior(BasePageQuery pageQuery);

    HashSet<String> getArticleLabel(ArticleQuery articleQuery);

}
